﻿using System;
using System.Xml.Serialization;

namespace WinFormsTaskManager
{
    // 任务实体类
    [Serializable]
    public class Task
    {
        // 静态字段，用于生成唯一ID
        private static int _nextId = 1;

        // 任务ID
        public int Id { get; set; }

        // 任务标题
        public string Title { get; set; }

        // 任务描述
        public string Description { get; set; }

        // 截止日期
        public DateTime DueDate { get; set; }

        // 优先级
        public string Priority { get; set; }

        // 是否完成
        public bool IsCompleted { get; set; }

        // 构造函数
        public Task()
        {
            Id = _nextId++;
            DueDate = DateTime.Now;
        }

        // 用于反序列化时重置下一个ID
        public static void ResetNextId(int maxId)
        {
            _nextId = maxId + 1;
        }
    }
}
